Overleaf for LaTeX
(2019年6月作成.更新:2024年10月18日)
このページの目的:
LaTeX のレポートをクラウド上で作成できる Overleaf というツールの紹介。 Web ブラウザだけで完結
日本語で書かれた LaTeX ファイル(*.tex)をコンパイル、pdf ファイルを作成、画面に表示するまでを説明
初期設定のまま(デフォルト)では日本語が文字化けする。対処法を以下で説明
2. アカウントを作る(Google アカウントでログインできる)
一番下に register。そのあと google。
(create a new project. からのプロジェクトを作る。名前は適当でよい)
3. 新規ファイルを作成 .このマークをクリック(New File)を作成
https://gyazo.com/dcca14184e23fc7cb3ce987ed933d539
tmp.tex というファイルを作成する。 (tmp.tex というのは、ファイル名の例)
↑ Create ボタンを押す。ファイルの中身は以下のとおり。コピペして貼り付ける.
https://gyazo.com/77a41da2f567499a528227aa05cd278c 各スクリプトは、この部分をクリックすれば簡単にコピーできる
(下に KaTeX parse error:... が出ている場合は、↓キーを押してみてください。コードが出現します )
code:tmp.tex
\usepackage{graphicx}
\usepackage{fancyhdr}
\usepackage{bm} % for bmdefine
\usepackage{amsmath} % bmatrix, pmatrix
\topmargin = -5mm
\oddsidemargin = 5mm
\textwidth = 152mm
\textheight = 240mm
% \pagestyle{empty}
\pagestyle{fancyplain}
\renewcommand{\footrulewidth}{0pt}
\renewcommand{\headrulewidth}{0pt}
\bmdefine{\bx}{x}
\bmdefine{\be}{e}
\everymath{\displaystyle}
\begin{document}
\lhead{\small 情報通信工学プログラム}
\rhead{\small 2023年10月16日\\宮崎イチロー}
% \cfoot{}
\centerline{\Large\gt \LaTeX を使ったレポート作成}
\vskip 5mm
\centerline{\Large\gt 60277777 宮崎 イチロー}
\section{はじめに}
実験したことはレポートに書いておこう.
分かりやすく簡潔に書こう.
\begin{eqnarray}
\frac{dx}{dt} & = & - 3x \\
\frac{dx}{dt} +2x & = & 2t + 5 \\
x' + 2tx & = & 4t \\
x' & = & \mathrm{e}^{-t^2} -2tx \\
x' + x & = & \mathrm{e}^{-t} \\
x' - (\sin t) x & = & \sin (2t) \\
x' + x & = & x^2 \mathrm{e}^t \\
x' - tx & = & - x^3 \mathrm{e}^{-t^2} \\
\tau \frac{dx}{dt} & = & -x + 1 \\
\tau \frac{dx}{dt} & = & -x + \cos t \\
\bm{x}_{t+1} & = & A\bm{x}_t \nonumber \\
\begin{pmatrix}
x_1'\\
x_2'
\end{pmatrix}
& = &
\begin{pmatrix}
3 & 3\\
4 & 2
\end{pmatrix}
\begin{pmatrix}
x_1\\
x_2
\end{pmatrix}
\end{eqnarray}
% \rhead{} % 2ページ目以降にヘッダーを表示しないようにする
\end{document}
4. 日本語 LaTeX 環境の設定
左上の Menu をクリック
https://gyazo.com/8dda6f6ed80bd7003525e693d72f16e3
Compiler として,LaTeX を選ぶ.
https://gyazo.com/1d4ca8c7eb060a2ed775ce415f98c022
もうひとがんばり。
このマークをクリック(New File)を作成
https://gyazo.com/dcca14184e23fc7cb3ce987ed933d539
latexmkrc というファイルを作成する.(※ 最上位の場所に作成すること)
ファイル名を間違うと動かない。 動かない場合は、スペルが正しいか、latexmkrc.tex になっていないことを確認!
https://gyazo.com/fb664dbaaa9ca15cc1ee68a1b63ac02c
↑ Create ボタンを押す.ファイルの中身は以下のとおり.(くどいがスペルミス、拡張子なしであることを確認)
code:latexmkrc
$latex = 'platex';
$bibtex = 'pbibtex';
$dvipdf = 'dvipdfmx %O -o %D %S';
$makeindex = 'mendex -U %O -o %D %S';
$pdf_mode = 3;
こうなっているはず。
https://gyazo.com/111510d724d8b2900adbbc96ce2e4be9
最後の仕上げ。Menu クリック
https://gyazo.com/8dda6f6ed80bd7003525e693d72f16e3
コンパイルする tex ファイル名を指定しておく.tmp.tex など.
https://gyazo.com/7717439a11962415464a1d7c25c90fde
これで、コンパイルできるはず!
https://gyazo.com/c8e3c5ea825c6360e1318704f423da2f
以上です.うまくいきましたか?
5. 以下,日本語で書かれた図ありの LaTeX ファイルをコンパイルし表示
ダウンロードしたファイルを、Overleaf クラウド上にアップロード
アップロードの仕方:このマークをクリック
https://gyazo.com/8ceb4c1fd21d4a1429c0de0746aea2d2
ダウンロードしたファイルを選択(自分がどこにダウンロードしたかは,ダウンロードする際に確かめておくこと)
https://gyazo.com/51aa692ea56441882e46297a125e40cd
最後の仕上げ.コンパイルする tex ファイル名を指定する.Menu をクリック
https://gyazo.com/8dda6f6ed80bd7003525e693d72f16e3
https://gyazo.com/7717439a11962415464a1d7c25c90fde
これで、コンパイルできるはず!
https://gyazo.com/c8e3c5ea825c6360e1318704f423da2f
以上です.うまくいきましたか?
6. Overleaf からファイルのダウンロード
https://gyazo.com/1458b3314f3ddb704bf4072aa4661ca7
7. コード(プログラムリスト)の貼り付け方
code:aaaaaa
\documentclass{article}
\usepackageutf8{inputenc} \usepackage{listings}
\usepackage{xcolor}
\definecolor{codegreen}{rgb}{0,0.6,0}
\definecolor{codegray}{rgb}{0.5,0.5,0.5}
\definecolor{codepurple}{rgb}{0.58,0,0.82}
\definecolor{backcolour}{rgb}{0.95,0.95,0.92}
\lstdefinestyle{mystyle}{
backgroundcolor=\color{backcolour},
commentstyle=\color{codegreen},
keywordstyle=\color{magenta},
numberstyle=\tiny\color{codegray},
stringstyle=\color{codepurple},
basicstyle=\ttfamily\footnotesize,
breakatwhitespace=false,
breaklines=true,
captionpos=b,
keepspaces=true,
numbers=left,
numbersep=5pt,
showspaces=false,
showstringspaces=false,
showtabs=false,
tabsize=2
}
\lstset{style=mystyle}
\begin{document}
The next code will be directly imported from a file
# \begin{lstlisting}
# \end{lstlisting}
\end{document}
code:test123.py
import numpy as np
def incmatrix(genl1,genl2):
m = len(genl1)
n = len(genl2)
M = None #to become the incidence matrix VT = np.zeros((n*m,1), int) #dummy variable M1 = bitxormatrix(genl1)
M2 = np.triu(bitxormatrix(genl2),1)
for i in range(m-1):
for j in range(i+1, m):
for k in range(len(r)):
if M is None:
M = np.copy(VT)
else:
M = np.concatenate((M, VT), 1)
VT = np.zeros((n*m,1), int)
return M
8. 一言一句注意深く読み,理解できない点を整理する一例
https://gyazo.com/322019462e31d6e5689ab43466be4848
code:table101.tex
\bmdefine{\be}{e} % \bm{e} といちいち記述するのが大変なため。 冒頭に \usepackage{bm} がなければ記述
\subsection{疑問点の整理の仕方の一例}
\centerline{\Large\gt 疑問点の整理}
\vspace{2mm}
\noindent
工学と固有値\\
\begin{center}
\begin{tabular}{|c|p{5zw}|p{15zw}|p{15zw}|} \hline
頁 & 箇所 & 内容 & 疑問点など \\ \hline
12 &
右の4行目付近
&
$ A \be_1 = \lambda_1 \be_1 $ で,
$A$ は$\be_1$ に対しては単に数$\lambda_1$を掛けるだけの働き
&
行列をかけなくても$\lambda_1$
をかけたらいいのはなぜなのか.
\\ \hline
%
%
15 &
右側後半
&
固有値 $\lambda_1=6, \lambda_2=1$のそれぞれに対応する固有ベクトルを規格化してそれらを並べた行列である$P$と$P^\top$を求めている部分.
これらの $ P $ と $ P^\top $を比較して
$P$は直交行列になるという記載の後に
『$\be_1$と$\be_2$が直交していたので,$|\be_1 |=1, |\be_2|=1$に規格化すればよい』と記載されている. &
規格化するタイミングと規格化する必要性が理解できない.
$\be_1$ と $\be_2$ を規格化して$P$を求めた結果,
$P$ が直交行列になったという流れなのか,
そもそも $\be_1$と$\be_2$が直交していたのだからでそれらを並べた$P$は直交行列であるという理屈ならば規格化する必要はないのではないかと考える.\\ \hline
& & & \\ \hline
& & & \\ \hline
& & & \\ \hline
\end{tabular}
\end{center}
より詳しい使い方は,キーワード「Overleaf 使い方」などで Google 検索し,調べてみてください.
よく似たサービスで Cloud LaTeX があります.Overleaf のサービスが洗練されていて,とても使いやすいです.
謝辞
このページを参考に作成しました.
本当は,自分のノートパソコンに Ubuntu Linux などの OS上で LaTeX をインストールし使えるようにしておくとよい.
付録:
文章を書くことについて
Simplicity, Clarity, Generality
Writing is hard work. A clear sentence is no accident. Very few sentences come out right the first time, or even the third time. Remember this in moments of despair. If you find that writing is hard, it's because it is hard.
書くことは難しい.明快な文は,偶然書けるものではない.最初から明快な文が書けるわけではないし,3回も書き直した後でも,明快にはならないことは多い(5回くらい書き直したら,よい文になっているかもしれない).そもそも書くことは難しい.もし書くことに絶望したら,このことを思い出そう.(明快な文になってないなら,書き直す回数がまだ少ない!)
(DeepL: の翻訳:文章を書くのは大変な作業です。わかりやすい文章は偶然ではありません。一度目はもちろん、三度目でもうまくいく文章はごくわずかです。絶望したときには、このことを思い出してください。書くことが難しいと感じるなら、それは難しいからです。) Clutter: Examine every word that you put on paper. You’ll find a surprising number that doesn’t serve any purpose.
一言一句,チェックしなさい:その単語,必要か?
(DeepL: あなたが紙に書いたすべての言葉を調べてみてください。何の役にも立たないものが意外に多いことに気づくはずです。) Most first drafts can be cut by 50 percent without losing any information.
https://gyazo.com/1cda513e10181fd7167c4d405d85487dhttps://gyazo.com/9616464caa79360581944dadfac23592
https://www.kspub.co.jp/book/detail/images/9784061556324_obi_w.jpg